
%-------------------------------------------
% Comunicação de Dados, Prof. Cristiano Both
%
% Simulação do Modelo de Transmissão
%
% Alunos:
% Gabriel Baierle, m72626
% Victor Biasibetti, m72615
%-------------------------------------------

%-------------------------------------------
% Path Loss:
%-------------------------------------------

if(tipoTrans == 1)

        f = input("Informe a frequencia da onda em MHz: ");
        d = input("Informe a distancia em km: ");
        gt = input("Informe o ganho do transmissor em dBi: ");
        gr = input("Informe o ganho do receptor em dBi: ");
        r = 32,44 + (20*log(f)) + (20*log(d)) - gt - gr;
       
endif

%-------------------------------------------
% K-Factor ou desvanecimento:
%-------------------------------------------

if(tipoTrans == 2)

        f = input("Informe a frequencia da onda em MHz: ");
        i = input("Informe a impedância em ohms: ");
        g = input("Informe o ganho em dBi: ");
        r = ( (20 * log(f)) / log(10)) - ( (10 * log(i)) / log(10)) - g - 12.79;
       
endif

%-------------------------------------------
% Efeito Doppler:
%-------------------------------------------

if(tipoTrans == 3)

        f = input("Informe a frequência do transmissor em MHz: ");
        v = input("\nInforme a velocidade da onda: ");
        vf = input("\nInforme a velocidade da fonte: ");
        vr = input("\nInforme a velocidade do receptor: ");
       
        if (v < vr)
                aux = v + vr;
        else
                aux = v - vr;
        endif
       
        if (v < vf)
                aux2 = v - vf;
        else
                aux2 = v + vf;
        endif
       
        r = f * (aux / aux2);
       
endif

%-------------------------------------------
% Cálculo ruído:
%-------------------------------------------
tipoErro = 1;
printf("Nível do sinal de ruído = "); r
tranf = fft(sinalModulado);
ruido = sqrt(r)*randn(1,length(tranf));
tranfnoise = tranf + ruido;

pular=input("Etapa de Transmissao, ENTER para ver ou P para pular ", "s");

if(length(pular)==0)
    figure(3)
        plot(real(tranf));
        title ('Sinal após transformada de Fourier');
        xlabel('Frequência');
        ylabel('Amplitude');
        axis([ 0 length(sinalModulado)]);
endif


